Publié le 28 mai 2025
Sauf indication contraire, les modifications suivantes s'appliquent à la dernière version du canal bêta de Chrome pour Android, ChromeOS, Linux, macOS et Windows. Pour en savoir plus sur les fonctionnalités listées ici, consultez les liens fournis ou la liste sur ChromeStatus.com. Chrome 138 est en version bêta depuis le 28 mai 2025. Vous pouvez télécharger la dernière version sur Google.com pour ordinateur ou sur le Google Play Store sur Android.
CSS et UI
Cette version ajoute six nouvelles fonctionnalités CSS et d'UI.
Mot clé de dimensionnement CSS stretch
Mot clé pour les propriétés de dimensionnement CSS (par exemple, width
et height
) qui permet aux éléments de se développer pour remplir exactement l'espace disponible de leur bloc contenant. Il est semblable à 100%
, sauf que la taille obtenue est appliquée à la marge de l'élément au lieu de la zone indiquée par box-sizing
. L'utilisation de ce mot clé permet à l'élément de conserver ses marges tout en étant aussi grand que possible.
Fonctions CSS liées aux signes: abs()
, sign()
Les fonctions liées au signe abs()
et sign()
calculent diverses fonctions liées au signe de leur argument.
Variable d'environnement CSS pour l'échelle de police au niveau de l'OS
Expose l'échelle de police préférée de l'utilisateur au CSS. Actuellement, il n'est pas pratique pour une page de détecter si l'utilisateur a modifié sa taille de police préférée avec les préférences du système d'exploitation. Cette variable d'environnement CSS reflète l'échelle choisie par l'utilisateur.
CSS sibling-index()
et sibling-count()
Les fonctions sibling-index()
et sibling-count()
peuvent être utilisées en tant qu'entiers dans les valeurs de propriété CSS pour styliser un élément en fonction de sa position parmi ses frères et sœurs, ou du nombre total de frères et sœurs, respectivement. Ces fonctions peuvent être utilisées directement en tant que valeurs entières, mais plus intéressant encore, dans des expressions calc()
.
li {
animation-delay: calc(0.1s * sibling-index());
}
Notation fonctionnelle de la progression de l'interpolation: fonction CSS progress()
La notation fonctionnelle progress()
est une fonction mathématique qui renvoie une valeur <number>
représentant la position d'un calcul (la valeur de progression) entre deux autres calculs (la valeur de début de progression et la valeur de fin de progression).
API Enumeration Viewport Segments
L'API Viewport Segments permet aux développeurs d'adapter leur mise en page Web pour cibler les appareils pliables. Les segments de fenêtre d'affichage définissent la position et les dimensions d'une région distincte de la fenêtre d'affichage. Les segments de fenêtre d'affichage sont créés lorsque la fenêtre d'affichage est divisée par une ou plusieurs fonctionnalités matérielles (comme un pli ou une charnière entre des écrans distincts) qui servent de séparateur. Les segments sont les régions de la fenêtre d'affichage qui peuvent être traitées comme distinctes du point de vue logique par le développeur.
API Web
Ajout de la prise en charge des métadonnées d'orientation des images vidéo dans WebCodecs
Introduit les valeurs rotation: int
et flip: bool
dans diverses interfaces liées aux vidéos dans WebCodecs afin que les développeurs puissent travailler avec des sources de frames ayant une orientation (par exemple, les caméras Android et certains supports multimédias). L'interface VideoFrame
permet de créer des VideoFrames avec une rotation et un retournement arbitraires, ainsi que des accésseurs pour ces informations sur l'objet VideoFrame
. L'objet VideoDecoderConfig
gagne des champs rotation
et flip
qui sont automatiquement émis sur les objets VideoFrame décodés. La classe VideoEncoder
bénéficie de mécanismes permettant de transmettre des informations de rotation et de retournement de encode()
à la VideoDecoderConfig
émise dans le cadre de EncodedVideoChunkMetadata
. Si encode()
est appelé avec des trames d'orientation différente, une exception non fatale est générée. La méthode configure()
permet de réinitialiser l'orientation autorisée.
API Crash Reporting: is_top_level
et visibility_state
Cette fonctionnalité ajoute des champs de chaîne is_top_level
et visibility_state
au corps de l'API de création de rapports sur les plantages qui est envoyé au point de terminaison de création de rapports par défaut pour les rapports sur les plantages.
Échappez à <
et >
dans les attributs lors de la sérialisation
Échappez <
et >
dans les valeurs des attributs lors de la sérialisation. Cela réduit le risque d'attaques XSS de mutation, qui se produisent lorsque la valeur d'un attribut est interprétée comme un jeton de balise de début après avoir été sérialisée et réanalysée.
Règlement sur l'intégrité des scripts
La sous-ressource Integrity (SRI) permet aux développeurs de s'assurer que les composants qu'ils prévoient de charger sont bien ceux qu'ils chargent. Toutefois, il n'existe actuellement aucun moyen pour les développeurs de s'assurer que tous leurs scripts sont validés à l'aide de SRI.
L'en-tête Integrity-Policy
permet aux développeurs d'affirmer que chaque ressource d'un type donné doit être vérifiée pour son intégrité. Si une tentative de chargement d'une ressource de ce type est effectuée sans métadonnées d'intégrité, la tentative échoue et un rapport de non-respect est généré.
Quota de stockage enregistré prévisible
Enregistrez un quota de stockage prévisible à partir de l'API Estimate de StorageManager pour les sites qui ne disposent pas d'autorisations de stockage illimitées. Il est possible de détecter le mode de navigation d'un utilisateur à l'aide du quota de stockage indiqué, car l'espace de stockage disponible est nettement plus petit en mode navigation privée qu'en mode normal.
Il s'agit d'une mesure d'atténuation qui empêche la détection du mode de navigation d'un utilisateur à l'aide de l'API de stockage en signalant un quota artificiel, égal à l'utilisation + min(10 Go, disque arrondi à l'entier le plus proche de 1 Go), dans tous les modes de navigation pour les sites disposant d'autorisations de stockage limitées. Les sites disposant d'autorisations de stockage illimitées ne seront pas concernés. Le quota appliqué ne sera pas non plus affecté.
Événement pushsubscriptionchange
lors du réabonnement
Déclenchez l'événement pushsubscriptionchange
dans les service workers lorsqu'une origine pour laquelle un abonnement push existait auparavant, mais qui a été révoquée en raison d'un changement d'autorisation (de l'autorisation à l'interdiction/par défaut), est à nouveau autorisée à envoyer des notifications. L'événement sera déclenché avec une oldSubscription
et une newSubscription
vides.
Règles de spéculation: ajout de prefetchCache
et prerenderCache
à l'en-tête Clear-Site-Data
Deux nouvelles valeurs pour l'en-tête Clear-Site-Data
pour aider les développeurs à cibler l'effacement du cache de préchargement et de préchargement: prefetchCache
et prerenderCache
.
Ils peuvent être envoyés pour toutes les requêtes et ne doivent pas être effectués pour la requête de document (par exemple, ils peuvent être renvoyés pour les réponses aux appels d'API d'ajout au panier, de connexion et de déconnexion afin d'éliminer les spéculations sur le changement d'état).
Règles de spéculation: champ target_hint
Cela étend la syntaxe des règles de spéculation pour permettre aux développeurs de spécifier le champ target_hint
. Ce champ fournit un indice pour indiquer une cible navigable où une page prérendue sera éventuellement activée. Lorsque _blank
est spécifié comme indice, une page prérendue peut être activée pour une page ouverte par window.open()
. Le champ n'est pas compatible avec le préchargement.
Règle stricte de même origine pour l'API Storage Access
Ajuste la sémantique de l'API Storage Access pour respecter strictement la règle de même origine, en termes de sécurité. Autrement dit, l'utilisation de document.requestStorageAccess()
dans un frame n'associe par défaut que les cookies aux requêtes envoyées à l'origine de l'iFrame (et non au site).
API Summarizer
API JavaScript permettant de générer des résumés du texte saisi, basés sur un modèle de langage d'IA. Les navigateurs et les systèmes d'exploitation sont de plus en plus censés accéder à un modèle de langage. En exposant ce modèle intégré, nous évitons à chaque site Web de devoir télécharger son propre modèle de langage de plusieurs gigaoctets ou d'envoyer du texte saisi à des API tierces. L'API de résumé expose en particulier une API de haut niveau pour l'interface avec un modèle de langage afin de résumer les entrées pour divers cas d'utilisation, de manière à ne pas dépendre du modèle de langage spécifique en question. Une règle d'entreprise (GenAILocalFoundationalModelSettings
) est disponible pour désactiver le téléchargement du modèle sous-jacent, ce qui rendrait cette API indisponible.
Pour en savoir plus, consultez Générer des résumés concis avec l'IA intégrée.
API Language Detector
API JavaScript permettant de détecter la langue utilisée dans un texte donné, avec des niveaux de confiance. La détection de la langue est un complément important de la traduction et peut être utilisée en combinaison avec l'API Translator. Par exemple, vous pouvez saisir une entrée utilisateur dans une langue inconnue, déterminer sa langue, puis la traduire dans une langue cible spécifique. Bien que les navigateurs disposent souvent déjà de fonctionnalités de détection de la langue, cela offre la même puissance aux développeurs Web avec une API JavaScript, en complément de l'API de traduction.
Une règle d'entreprise (GenAILocalFoundationalModelSettings
) permet de désactiver le téléchargement du modèle sous-jacent, ce qui rend cette API indisponible.
Pour en savoir plus, consultez Détecter la langue utilisée avec l'IA intégrée.
API Translator
API JavaScript permettant de fournir des fonctionnalités de traduction de langue aux pages Web.
Bien que les navigateurs proposent de plus en plus de traductions aux utilisateurs, ces fonctionnalités peuvent également être utiles aux développeurs Web. C'est particulièrement le cas lorsque les fonctionnalités de traduction intégrées du navigateur ne peuvent pas aider, comme pour les services en direct et interactifs. Une règle d'entreprise (GenAILocalFoundationalModelSettings
) est disponible pour désactiver le téléchargement du modèle sous-jacent, ce qui rendrait cette API indisponible.
Pour en savoir plus, consultez Traduction avec l'IA intégrée.
Extensions de champ d'application des applications Web
Ajoute un champ de fichier manifeste d'application Web "scope_extensions"
qui permet aux applications Web d'étendre leur champ d'application à d'autres origines. Cela permet aux sites qui contrôlent plusieurs sous-domaines et domaines de premier niveau d'être présentés comme une seule application Web. Les origines listées doivent confirmer l'association à l'application Web à l'aide d'un fichier de configuration .well-known/web-app-origin-association
.
Communication série Web via Bluetooth sur Android
Cette fonctionnalité permet aux pages Web et aux applications Web de se connecter aux ports série via Bluetooth sur les appareils Android. Chrome sur Android est désormais compatible avec l'API Web Serial via Bluetooth RFCOMM. Les stratégies d'entreprise existantes (DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
, SerialAllowUsbDevicesForUrls
, SerialAskForUrls
et SerialBlockedForUrls
) sur d'autres plates-formes sont activées dans les états future_on pour Android. Toutes les règles, à l'exception de SerialAllowUsbDevicesForUrls
, seront activées une fois la fonctionnalité activée. SerialAllowUsbDevicesForUrls
sera activé lors d'un prochain lancement, une fois qu'Android aura pris en charge les ports série filaires au niveau du système.
Abandons et suppressions
Cette version de Chrome introduit les abandons et suppressions suivants. Consultez ChromeStatus.com pour obtenir la liste des fonctionnalités abandonnées prévues, des fonctionnalités abandonnées en cours et des fonctionnalités supprimées précédemment.
Cette version de Chrome abandonne deux fonctionnalités.
Abandon de la suppression de plage asynchrone pour les extensions de source multimédia
La norme Media Source a été modifiée il y a longtemps pour interdire les comportements définis de manière ambiguë impliquant des suppressions de plage asynchrones:
SourceBuffer.abort()
n'interrompt plus les opérationsSourceBuffer.remove()
.- Le paramètre
MediaSource.duration
ne peut plus tronquer les contenus multimédias actuellement mis en mémoire tampon.
Des exceptions seront désormais générées dans les deux cas.
Suppression du remplacement SwiftShader
Le remplacement automatique par WebGL via le moteur de rendu logiciel SwiftShader est obsolète. La création d'un contexte WebGL échouera au lieu de basculer vers SwiftShader. Cette décision a été prise pour deux raisons principales:
- SwiftShader présente un risque de sécurité élevé en raison du code JIT exécuté dans le processeur graphique de Chromium.
- L'expérience utilisateur est médiocre lors du passage d'une implémentation WebGL hautes performances basée sur un GPU à une implémentation basée sur un processeur. Les utilisateurs n'ont aucun contrôle sur ce comportement, et il est difficile de le décrire dans les rapports de bugs.
Pendant la période d'abandon, un avertissement s'affichera dans la console des outils pour les développeurs Chrome lorsqu'un contexte WebGL sera créé et pris en charge par SwiftShader. Si vous spécifiez --enable-unsafe-swiftshader
, ce message d'avertissement sera supprimé.